import os
from PyInstaller.utils import win32

def xls2xlsx(folder):
    """
    xls批量转xls2xlsx
    pywin32: `pip install -i https://mirrors.aliyun.com/pypi/simple/ pywin32`
    :param folder: 文件夹
    """
    list_file = os.listdir(folder)
    excel = win32.gencache.EnsureDispatch('Excel.Application')
    excel.Visible = False  # 如果是True  会打开excel程序（界面）
    excel.DisplayAlerts = 0  # 不显示警告信息
    for basename in list_file:
        if not basename.endswith(".xls") or ("$" in basename):  # 过滤非.xls文件 或 打开的文件
            continue
        abspath = os.path.join(folder, basename)
        wb = excel.Workbooks.Open(abspath)
        # print(sys.modules[wb.__module__].__file__) # 获得缓冲文件（可删除）
        wb.SaveAs(abspath + "x", FileFormat=51)  # FileFormat = 51 代表.xlsx格式文件
        wb.Close(False)  # #  True就是关闭该文件，并保存。不保存就是False
    excel.Application.Quit()  # 关闭excel操作环境。